package koby99;

import java.text.BreakIterator;
import java.util.Scanner;

public class J13_Switch {

	// switch
	// if...else 의 대안으로 사용
	// if 의 조건절이 지나치게 많을 경우
	// switch를 사용학면 많이 간소해짐
	// switch( 표현삭 ){
	//      case 값1 : 실행할 문장; break;
	//		case 값2 : 실행할 문장; break;
	//		case 값3 : 실행할 문장; break;
	//		default : 실행할 문장;
	// }
	// 표현식의 결과값에 일치하는 case내의
	// 문장이 실행됨
	// 표현갑의 결과값은 반드시 int, 열거형,
	// 문자열(JDK7) 중 하나이여야 함
	
	public static void main(String[] args) {
	
		// 문제 1 : 입력한 숫자의 나이대를 출력 
	    // 15 입력 : 당신은 10대네!
		// 35 입력 : 당신은 30대네!
		
		int nai;
		Scanner sc = new Scanner(System.in);
		System.out.println("나이를 입력해");
		nai = sc.nextInt();
		
		// if (nai <= 10) 당신은 십대군요
		// else if (nai <= 20) 당신은 이십대군요
		// else if (nai <= 30) 당신은 삼십대군요
		// 이런식으로. 원하는 만치까지 써야한다.
		
		switch(nai/10){
			// case 10:case 11:case 12: //이런식으로 다써야하지만
		    // 어차피 22를쓰면 앞자리만 알면되기에
			// 요로케 nai/10해버리고 수정하면 더 편하게 분류가 가능하다.
				
		    case 1:System.out.println("10대군요");break;
			case 2:System.out.println("20대군요");break; 
			case 3:System.out.println("30대군요");break;  
			case 4:System.out.println("40대군요");break;
			case 5:System.out.println("50대군요");break; 
			case 6:System.out.println("60대군요");break;
			default :System.out.println("나이를 적어");
			}
		
		//문제 2 : 국어, 영어, 수학 점수를 입력받아
		//       학점을 계산하고 출력하는 프로그램
		
		int guk;
		int eng;
		int mat;
		sc = new Scanner(System.in);
		System.out.println("국어 점수를 입력하세요");
		guk = sc.nextInt();
		System.out.println("영어 점수를 입력하세요");
		eng = sc.nextInt();
		System.out.println("수학 점수를 입력하세요");
		mat = sc.nextInt();
		// sc = new Scanner...이건 한번만 써도된다.
		// 다른 값에다가 쓸때마다 안써도 된다는 소리. ㅇㅇ
	    int cuo = 0;
		cuo = (guk + eng + mat) /3;
		switch(cuo/10){ // 스위치에 ()에는 int만 들어가기에 실수형 같은걸 넣을땐 (int)를 넣어주자
			case 10:
		    case 9:System.out.println("수");break;
			case 8:System.out.println("우");break;
			case 7:System.out.println("미");break;
			case 6:System.out.println("양");break;
			default : System.out.println("가");
		}
		
		// 문제 3 : 직급별 연봉 계산
		// 직급 : 사원, 대리, 과장, 부장, 이사
		// 기본급 : 150, 180, 230, 300, 400
		// 퇴직금은 연봉 20%[부장, 이사만]
		// 사원의 연봉은 150*12 입니다.
	    // 한글입력시 인코딩 설정이 필요.
		
		String gik = "";
		//스트링으로 했다.[한글자가 아니기에 char은 안된다. 또 ""를 붙이고 끝냈다는걸 주목]
		sc = new Scanner(System.in);
		System.out.println("당신의 직급을 적어요.");
		gik = sc.nextLine();
		//주목할점은 라인으로 바꿧다는것.
		int salary = 0;
		switch(gik){
		            case "사원":salary = 150*12;break;
		            case "대리":salary = 180*12;break;
		            case "과장":salary = 230*12;break;
		            case "부장":salary = 300*12;break;
		            case "이사":salary = 400*12;break;
		            default : System.out.println("사장이냐...!?");
		           }
		//설정 변경해야함 애버노트 참고
		System.out.println(
				gik + "의 연봉은 "+salary +" 입니다.");
		
		

		
	}

}
